package com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xiaoshuidi.cloud.framework.jackson.core.databind.LocalDateDeserializer;
import com.xiaoshuidi.cloud.framework.jackson.core.databind.LocalDateSerializer;
import com.xiaoshuidi.cloud.module.contract.enums.bill.OrderFeeSortTypeEnum;
import com.xiaoshuidi.cloud.module.contract.enums.contract.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 管理后台 - 租客合同更新 Request VO
 */
@Schema(description = "管理后台 - 租客合同更新 Request VO")
@Data
@ToString(callSuper = true)
public class ContractFoundationReqVO {

    /**
     * 合同ID
     */
    @Schema(description = "合同ID", required = true)
    @NotNull(message = "合同ID不能为空")
    private Long id;

    /**
     * 紧急联系人姓名
     */
    @Schema(description = "紧急联系人姓名")
    @NotNull(message = "紧急联系人姓名不能为空")
    private String emergencyContactName;

    /**
     * 紧急联系人手机号
     */
    @Schema(description = "紧急联系人手机号")
    @NotNull(message = "紧急联系人不能为空")
    private String emergencyContactPhone;

    /**
     * 紧急联系人关系
     */
    @Schema(description = "紧急联系人关系")
    @NotNull(message = "紧急联系人关系不能为空")
    private String emergencyContactRelationship;
    /**
     * 证件附件地址
     */
    @Schema(description = "证件附件地址")
    private String certificateUrl;



//    /**
//     * 租客手机号
//     */
//    @Schema(description = "租客手机号")
//    @NotNull(message = "租客手机号不能为空")
//    private String customerPhone;

    /**
     * 国籍
     */
    @Schema(description = "国籍")
    private String customerNationality;

    /**
     * 乙方联系地址
     */
    @Schema(description = "乙方联系地址")
    private String renterAddress;

    /**
     * 租客邮编
     */
    @Schema(description = "租客邮编")
    private String renterPostalCode;

    /**
     * 租客邮箱
     */
    @Schema(description = "租客邮箱")
    private String renterEmail;

    /**
     * 银行卡号
     */
    @Schema(description = "银行卡号")
    private String customerCreditCard;

    /**
     * 所属银行
     */
    @Schema(description = "所属银行")
    private String customerBank;

    /**
     * 所属支行
     */
    @Schema(description = "所属支行")
    private String customerBankArea;

    /**
     * 租客学历
     */
    @Schema(description = "租客学历")
    private String customerEducation;

    /**
     * 租客岗位
     */
    @Schema(description = "租客岗位")
    private String customerPost;
    /**
     * 乙方居住类型 1 单身合租 | 2 非单身合租
     */
    @Schema(description = "乙方居住类型 1 单身合租 | 2 非单身合租 ")
    private String customerHabitancyType;

    /**
     * 管家id
     */
    private Long butlerId;

    /**
     * 管家姓名
     */
    private String butlerName;

    /**
     * 合同附件地址
     */
    private String contractUrl;


}
